// Mixins 类似于多继承，是在多累继承中重用一个类代码的方式
void main(List<String> args) {
  D d = new D();
  d.a();
  d.b();
}

class A {
  void a() {
    print("A.a()....");
  }
}
class B {
  void a() {
    print("B.a()....");
  }
  void b() {
    print("B.b()....");
  }
}
class C {
    void a() {
    print("C.a()....");
  }
  void b() {
    print("C.b()....");
  }
  void c() {
    print("C.c()....");
  }
}

// 如果想要继承 A、B、C 三个类的属性和方法
// Mixins 类不能有显示的构造方法，也就是说这里的 B 和 C 类不能有显示的构造方法，不然编译器会直接编译不通过
// 作为 Mixins 的类只能继承至 object 类，在dart 中所有的类默认都继承至 object
// 使用 with 连接一个或者多个 Mixins
class D extends A with B, C {

}